Security News
Maven Central Adds Sigstore Signature Validation
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
asciify-image
Advanced tools
Convert images to ASCII art without native dependencies
asciify-image allows you to convert images to ASCII art without native
dependencies. This means that all you need to do is npm install ascii-image
,
instead of brew
ing and apt-get
ing other packages.
Just install with npm
:
$ npm install asciify-image
Or, if you want to use it directly in the command line:
$ npm install -g asciify-image
This API applies to asciify-image both as a Node.js module (example)
and as a CLI tool. Use the -?
or --help
flag to see more about the CLI tool.
The file path, URL, or buffer for the image you wish to asciify. Currently supported formats are:
Default: true
If options.color
is set to true
, the asciified image will be in color when
printed in your terminal. If set to false
, the image will be in black and
white.
Default: 'original', CLI default: 'box'
The fit to resize the image to:
box
- Resize the image such that it fits inside a bounding box defined by
the specified width and height.
Maintains aspect ratio.width
- Resize the image by scaling the width to the specified width.
Maintains aspect ratio.height
- Resize the image by scaling the height to the specified height.
Maintains aspect ratio.original
- Doesn't resize the image.none
- Scales the width and height to the specified values, ignoring
original aspect ratio.Default: original image width, CLI default: window width
The width to resize the image to. Use a percentage to set the image width to x%
of the terminal window width.
Default: original image height, CLI default: window height
The height to resize the image to. Use a percentage to set the image height to x%
of the terminal window height.
Default: 'string'
The format to return the asciified image in. Can be "string" or "array".
Default: 2
Since a monospace character is taller than it is wide, this property defines the integer approximation of the ratio of the width to height. You probably don't need to change this.
The function to call after the image is asciified. Receives any errors that occurred as the first parameter and the asciified text as the second. When omitted, the module will return a Promise (example).
var asciify = require('asciify-image');
var options = {
fit: 'box',
width: 200,
height: 100
}
asciify('path/to/image.png', options, function (err, asciified) {
if (err) throw err;
// Print to console
console.log(asciified);
});
var asciify = require('asciify-image');
var options = {
fit: 'box',
width: 200,
height: 100
}
asciify('path/to/image.png', options)
.then(function (asciified) {
// Print asciified image to console
console.log(asciified);
})
.catch(function (err) {
// Print error to console
console.error(err);
});
Images are represented by pixels. This package reads each pixel as an RGBa value. Each of these values is converted into a single integer, called "intensity". A darker pixel would have a higher intensity, and a lighter pixel would have a lower intensity.
For each pixel, a character is substituted: for a light pixel, the character "," may be substituted, but for a darker pixel, the character "8" would be substituted. Since these characters are different sizes, they look lighter or darker in the big picture (pun somewhat intended).
Some inspiration from image-to-ascii, but the code is written from scratch. Mostly created this because I didn't like the native dependencies required in existing asciification libraries.
FAQs
Convert images to ASCII art without native dependencies
The npm package asciify-image receives a total of 3,608 weekly downloads. As such, asciify-image popularity was classified as popular.
We found that asciify-image demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.